package com.sczmgk.hotline_pzh.utils;

import android.content.Context;
import android.content.Intent;

import java.io.Serializable;

public class UIUtils {

    private static final int SELECT_AREA_CODE = 1;
    private static final String TAG = UIUtils.class.getSimpleName();

    /**
     * 跳转Activity
     *
     * @param context
     * @param clazz
     */
    public static void startActivity(Context context, Class<?> clazz) {
        Intent intent = new Intent(context, clazz);
        context.startActivity(intent);
    }

    /**
     * 跳转 Activity
     *
     * @param context
     * @param clazz
     * @param key     传递参数的key
     * @param value   传递的URL
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, String value) {
        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        context.startActivity(intent);
    }

    /**
     * 跳转 Activity
     *
     * @param context
     * @param clazz
     * @param key     传递参数的key
     * @param value   传递的URL
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, Serializable value) {
        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        context.startActivity(intent);
    }

    /**
     * 跳转Activity
     *
     * @param context
     * @param clazz
     * @param key
     * @param value
     * @param type
     * @param typeValue
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, String value, String type, String typeValue) {
        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        intent.putExtra(type, typeValue);
        context.startActivity(intent);
    }

    /**
     * 跳转Activity
     *
     * @param context
     * @param clazz
     * @param key
     * @param value
     * @param type
     * @param typeValue
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, String value, String type, int typeValue) {

        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        intent.putExtra(type, typeValue);
        context.startActivity(intent);
    }

    /**
     * 带序列化的对象
     * @param context
     * @param clazz
     * @param typeKey
     * @param typeValue
     * @param key
     * @param value
     */
    public static void startActivity(Context context, Class<?> clazz,String typeKey,int typeValue,
                                     String key, Serializable value) {

        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        intent.putExtra(typeKey,typeValue);
        context.startActivity(intent);
    }

//    /**
//     * 跳转到需要登录界面
//     *
//     * @param context
//     * @param functionType
//     * @param isLogin
//     */
//    private static void startCheckLoginActivity(final Context context, boolean isLogin, final FunctionInfo functionType) {
//        if (isLogin) {
//            MyLog.d(TAG, functionType.title + " ---> 已登录");
//            // 1.判断是否为功能的点击事件
//            if (isFunctionClick(functionType.servicecode)) {
//                MyLog.i(TAG, functionType.title + "  是功能菜单条目    serviceCode:  "
//                        + functionType.servicecode);
//                switch (getFunctionCode(functionType.servicecode)) {
//                    case ServiceUtils.FUNCTION_AGNET:
//                        // 区域提示
//                        startActivity(context, AgentDepartmentActivity.class, Constants.PARENT_CODE_KEY, functionType.servicecode);
//                        break;
//                    case ServiceUtils.FUNCTION_APPOINTMENT:
//                        // 区域提示
//                        showToast(context, functionType.enablestatus, functionType.title);
//
//                        startActivity(context, AppointmentDepartmentActivity.class, Constants.AREA_CODE_KEY, functionType.servicecode);
//                        break;
//                    case ServiceUtils.FUNCTION_COMPLAIN:
//                        showToast(context, functionType.enablestatus, functionType.title);
//                        startActivity(context, ComplainProActivity.class);
//                        break;
//                    case ServiceUtils.FUNCTION_PETITION:
//                        showToast(context, functionType.enablestatus, functionType.title);
//                        break;
//                    case ServiceUtils.FUNCTION_HOME_CARE:
//                        showToast(context, functionType.enablestatus, functionType.title);
//                        break;
//                    case ServiceUtils.FUNCTION_CALL_HOTLINE:
//
//                        CommonUtils.callPhone(context, CacheUtils.getStringData(context, Constants.HOTLINE_KEY, 0 + ""));
//                        //统计区域
//                        MobclickAgent.onEvent(context,context.getResources().getString(R.string.call_hot_line));
//                        Map<String,String> map6 = new HashMap<String,String>();
//                        map6.put("拨打电话",  CacheUtils.getStringData(context, Constants.HOTLINE_KEY, 0 + ""));
//                        MobclickAgent.onEventValue(context, context.getResources().getString(R.string.call_hot_line), map6,1);
//
//                        break;
//                    default:
//                        break;
//                }
//            } else {
//                // 区域提示
//                int code = getServiceCodeByFunction(functionType.servicecode);
//                MyLog.d(TAG, functionType.title + "    是功能菜单下的服务条目");
//
//                if (code == 1) {
//
////					showToast(context, functionType.enablestatus, functionType.title);
////					Intent intent = new Intent(context,ProductListActivity.class);
////					intent.putExtra(Constants.PARENT_CODE_KEY, functionType.servicecode);
////					context.startActivity(intent);
//
//                    //TODO 去热门代办事项说明页
//                    Product product = new Product(functionType.title, functionType.enablestatus, functionType.servicecode, -1, -1, functionType.picicurl);
//                    Intent intent = new Intent(context, AboutAgentActivity.class);
//                    intent.putExtra(Constants.PRODUCT_KEY, product);
//                    context.startActivity(intent);
//
//
//                }
//                if (code == 2) {
//                    // 去预约界面
//                    showToast(context, functionType.enablestatus, functionType.title);
//
////					startActivity(context, AppointmentActivity.class,ServiceUtils.PRODUCT_INFO_KEY, functionType);
//                }
//            }
//        } else {
//            MyLog.i(TAG, "没有登录，去登录");
//            startActivity(context, LoginActivity.class);
//        }
//    }


    /**
     * 显示Toast
     *
     * @param status
     * @param title
     */
    private static void showToast(Context context, String status, String title) {
        MyToast.showDebug(context, title + ": 点击了");
    }

}
